import jsonpath
import requests

url = "http://192.168.10.131:8888/api/private/v1"

login = {
    "method": "post",
    "url": url + "/login",
    "params": None,
    "data": {"username": "admin", "password": "123456"},
    "json": None,
    "files": None,
    "headers": None
}

user_list = {
    "method": "get",
    "url": url + "/users",
    "params": {"pagenum":1, "pagesize":1},
    "data": None,
    "json": None,
    "files": None,
    "headers": None
}

# 1.登录
response = requests.request(**login)
print(response)

# 2.提取token
    # print(response.json())
    # print(response.json()["data"])
    # print(response.json()["data"]["token"]) # 依次打印可以看到逐步获取token的过程
    # 方法1: 简单易懂大家都能想到的方法
token = response.json()["data"]["token"]

    # 方法2: 使用类似Jmeter里面的JSON提取器, 使用 $.xxx 来获取token
    # 该方法要用到第三方库 jsonpath, 安装执行命令: pip install jsonpath==0.82.2
    # 使用方法: jsonpath.jsonpath(字典数据, jsonpath表达式), 结果是返回一个列表, 获取数据需要加上具体下标
token = jsonpath.jsonpath(response.json(), "$.data.token")[0]

# 3.获取用户列表
user_list["headers"] = {"Authorization": token} # 将获取到的token放到请求头中
res2 = requests.request(**user_list)
print(res2.json())
